Method and apparatus for sensing based on route bias

ABSTRACT

An approach is provided for sensing based on route bias. The goal processor processes and/or facilitates a processing of one or more geo-routes, one or more location anchors, or a combination thereof associated with one or more devices to determine proximity information of the one or more devices to one or more sensing goals. The goal processor causes, at least in part, a selection of at least a subset of the one or more devices to participate in the one or more sensing goals based, at least in part, on the proximity information.

BACKGROUND

Service providers and device manufacturers (e.g., wireless, cellular,etc.) are continually challenged to deliver value and convenience toconsumers by, for example, providing compelling network services. Onearea of interest has been the development of gathering and providingcontent and information. For example, mobile devices may now help planroutes (e.g., with global positioning system (GPS) navigation systems)to help associated users meet at specific locations, or organize instantcrowds at specific locations for marketing events. In addition,applications are being developed specifically for mobile devices, andservices also exist to provide mobile device users with more suitablecontent and information. Nonetheless, generating content and informationcollaboratively, is not usually done with consideration to theconvenience of users. As such, service providers and devicemanufacturers face significant technical challenges to makingcollaborative content and information generation fit into the routinesof device users.

SOME EXAMPLE EMBODIMENTS

Therefore, there is a need for an approach for sensing based on routebias.

According to one embodiment, a method comprises processing and/orfacilitating a processing of one or more geo-routes, one or morelocation anchors (e.g., places that are frequently visited by one ormore users), or a combination thereof associated with one or moredevices to determine proximity information of the one or more devices toone or more sensing goals. The method also comprises causing, at leastin part, a selection of at least a subset of the one or more devices toparticipate in the one or more sensing goals based, at least in part, onthe proximity information

According to another embodiment, an apparatus comprises at least oneprocessor, and at least one memory including computer program code forone or more computer programs, the at least one memory and the computerprogram code configured to, with the at least one processor, cause, atleast in part, the apparatus to process and/or facilitate a processingof one or more geo-routes, one or more location anchors, or acombination thereof associated with one or more devices to determineproximity information of the one or more devices to one or more sensinggoals. The apparatus is also caused to cause, at least in part, aselection of at least a subset of the one or more devices to participatein the one or more sensing goals based, at least in part, on theproximity information.

According to another embodiment, a computer-readable storage mediumcarries one or more sequences of one or more instructions which, whenexecuted by one or more processors, cause, at least in part, anapparatus to process and/or facilitate a processing of one or moregeo-routes, one or more location anchors, or a combination thereofassociated with one or more devices to determine proximity informationof the one or more devices to one or more sensing goals. The apparatusis also caused to cause, at least in part, a selection of at least asubset of the one or more devices to participate in the one or moresensing goals based, at least in part, on the proximity information.

According to another embodiment, an apparatus comprises means forprocessing and/or facilitating a processing of one or more geo-routes,one or more location anchors, or a combination thereof associated withone or more devices to determine proximity information of the one ormore devices to one or more sensing goals. The apparatus also comprisesmeans for causing, at least in part, a selection of at least a subset ofthe one or more devices to participate in the one or more sensing goalsbased, at least in part, on the proximity information.

In addition, for various example embodiments of the invention, thefollowing is applicable: a method comprising facilitating a processingof and/or processing (1) data and/or (2) information and/or (3) at leastone signal, the (1) data and/or (2) information and/or (3) at least onesignal based, at least in part, on (or derived at least in part from)any one or any combination of methods (or processes) disclosed in thisapplication as relevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating access to at least oneinterface configured to allow access to at least one service, the atleast one service configured to perform any one or any combination ofnetwork or service provider methods (or processes) disclosed in thisapplication.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising facilitating creating and/orfacilitating modifying (1) at least one device user interface elementand/or (2) at least one device user interface functionality, the (1) atleast one device user interface element and/or (2) at least one deviceuser interface functionality based, at least in part, on data and/orinformation resulting from one or any combination of methods orprocesses disclosed in this application as relevant to any embodiment ofthe invention, and/or at least one signal resulting from one or anycombination of methods (or processes) disclosed in this application asrelevant to any embodiment of the invention.

For various example embodiments of the invention, the following is alsoapplicable: a method comprising creating and/or modifying (1) at leastone device user interface element and/or (2) at least one device userinterface functionality, the (1) at least one device user interfaceelement and/or (2) at least one device user interface functionalitybased at least in part on data and/or information resulting from one orany combination of methods (or processes) disclosed in this applicationas relevant to any embodiment of the invention, and/or at least onesignal resulting from one or any combination of methods (or processes)disclosed in this application as relevant to any embodiment of theinvention.

In various example embodiments, the methods (or processes) can beaccomplished on the service provider side or on the mobile device sideor in any shared way between service provider and mobile device withactions being performed on both sides.

For various example embodiments, the following is applicable: Anapparatus comprising means for performing the method of any oforiginally filed claims 1-10, 21-30, and 46-48.

Still other aspects, features, and advantages of the invention arereadily apparent from the following detailed description, simply byillustrating a number of particular embodiments and implementations,including the best mode contemplated for carrying out the invention. Theinvention is also capable of other and different embodiments, and itsseveral details can be modified in various obvious respects, all withoutdeparting from the spirit and scope of the invention. Accordingly, thedrawings and description are to be regarded as illustrative in nature,and not as restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the invention are illustrated by way of example, andnot by way of limitation, in the figures of the accompanying drawings:

FIG. 1 is a diagram of a system capable of sensing based on route bias,according to one embodiment;

FIG. 2 is a diagram of the components of a goal processor, according toone embodiment;

FIG. 3 is a diagram of the components of a sample platform, according toone embodiment;

FIG. 4 is a flowchart of a process for sensing based on route bias,according to one embodiment;

FIG. 5 is a flowchart of a process for one or more devices toparticipate in one or more sensing goals, according to one embodiment;

FIG. 6 is a flowchart of a process for defining one or more sensinggoals, according to one embodiment;

FIG. 7 is a flowchart of a process for sharing one or more sensinggoals, according to one embodiment;

FIG. 8 is a schematic block diagram of a terminal of one or more userdevices, according to one embodiment;

FIGS. 9A-9C are diagrams of use cases utilized in the processes of FIG.4, according to various embodiments;

FIG. 10 is a diagram of hardware that can be used to implement anembodiment of the invention;

FIG. 11 is a diagram of a chip set that can be used to implement anembodiment of the invention; and

FIG. 12 is a diagram of a mobile terminal (e.g., handset) that can beused to implement an embodiment of the invention.

DESCRIPTION OF SOME EMBODIMENTS

Examples of a method, apparatus, and computer program for sensing basedon route bias are disclosed. In the following description, for thepurposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of the embodiments of theinvention. It is apparent, however, to one skilled in the art that theembodiments of the invention may be practiced without these specificdetails or with an equivalent arrangement. In other instances,well-known structures and devices are shown in block diagram form inorder to avoid unnecessarily obscuring the embodiments of the invention.

FIG. 1 is a diagram of a system capable of sensing based on route bias,according to one embodiment. As discussed, recent technological advancesand developments have increased demand for suitable content andinformation. In turn, sensing technologies have changed significantly torespond to the demand. For example, mobile devices may now help planroutes (e.g., with GPS navigation systems) to help associated users meetat specific locations, or organize instant crows at specific locationsfor marketing events. In addition, applications are being developed formobile devices in particular, and services also exist to provide mobiledevice users with more suitable content and information. Morespecifically, generating content collaboratively is increasinglyimperative to meeting the heightened demand for content. There are agrowing number of sensors and user interface technologies that permitusers to capture new types of information. With this technology, usershave been able to collect images or sensor data for themselves. However,with increasing need for new types of content, such as immersivethree-dimensional (3D) environments and multi-perspective 3Dphotography, multiple samples acquired from different locations may beneeded. To achieve this type of content, collaborative sensing withmultiple users may be necessary. Nonetheless, generating content andinformation collaboratively, is not presently done with consideration tothe convenience of users. Users may be unwilling to contribute tocollaborative content if contributing requires excessive disturbance totheir daily routines. As such, service providers and devicemanufacturers face significant technical challenges to makingcollaborative content and information generation fit into the routinesof device users.

To address this problem, a system 100 of FIG. 1 introduces thecapability to provide sensing based on route bias. Users may be selectedto participate in collaborative content generation based on theproximity of their geo-routes and anchor points to the sensing goal. Inother words, users are selected for participation based on the degree of“route bias” needed to contribute to the sensing goal. In oneembodiment, the system 100 may allow users to collaboratively acquiresensor data by biasing their daily route or current location. In anotherembodiment, this may be extended to users who, according to theirgeo-routines or anchor points, are likely to be at, or proximate, thesensing goal at particular times for time variant sensing goals.

In one embodiment, an anchor point or location anchor refers to placesthat are frequently visited (e.g., both physically and/or virtuallythrough, for instance, frequent searches, references, etc.) by one ormore users. In other embodiments, location anchors may refer to placesor areas that are contextually relevant to one or more users. Forexample, locations anchors may be discovered based one stay points(e.g., places where user remain above threshold criteria). In someembodiments, location anchors may be defined or categorized accordinglyto contexts. In other words, depending on the user's context, the system100 may determine a different set of location anchors for the user. Forexample, on weekends, a user may have a different set of locationanchors when compared to weekdays.

In one embodiment, the system 100 may first identify a sensing goal anda group of users who wish to participate to collectively acquire data. Asensing goal may be a point of interest and/or multiple sub-goals thatare defined in proximity to the point of interest. Then, the system 100may calculate proximity information between the sensing goal andrespective users. That is, the system 100 may calculate the route biasfor each member of the group based on their current location, knownanchor points, or known routes. Next, the system 100 may notify theusers that they are proximate sensing goals. Group members who agree toparticipate may then be guided by system 100 to the location andorientation around the sensing goal to collect sensor data.

In one scenario, a sensing goal may be a 3D rendition of a particularsite, such as a museum. The goal may take place in an index orgeo-position, or independently of a geo-position. Multiple perspectiveimages may be needed to create an immersive 3D environment of the site.Therefore, to build the 3D environment, the system 100 may invitecollaborative groups to participate in creating the environment. Thesystem 100 may take the known routes and/or anchor points of the devicesin the collaborative groups, and determine the route bias required forrespective users to reach the museum. For example, the museum may beproximate one user's daily commute home, while another user wouldhypothetically have to deviate far from his daily course to reach themuseum. For this situation, the route bias is lower for the first userthan the second. Consequently, the system 100 may select the first useror users similar to the first user to participate in the sampling. Indoing so, the system 100 facilitates the formation of groups tocontribute to collaborative sensing goals.

In one embodiment, the system 100 may further determine the number ofsamples to obtain to satisfy a sensing goal. For example where the goalis a museum, the system 100 may define that five hundred samples areneeded to create the 3D rendition. In a further embodiment, the system100 may further detail the specifications required to achieve thesensing goals. For instance, the system 100 may determine the angles orpositioning of a sensor or mobile device to best gather samples of themuseum. In such an example, the sensing process may be less constrainedat the beginning, but specifications may become more specific as asensing goal is closer to completion. Especially where specificationsmay become more specific, user interfaces may further guide users tocomplete the samples. In the museum scenario, a user interface mayinclude outlining or highlighting of one or more portions of the museumthat require further sampling.

In one embodiment, the system 100 may track and aggregate the samplesthat have been obtained to update the sensing goal and determine furthersampling needs. For instance, if the east wing of a museum hassufficient information to build an immersive 3D model, but the west wingstill requires more samples, the sensing goal may be updated to includethe west wing independent of the east wing. In such a case, sharing ofsamples towards a sensing goal may be dynamic so system 100 may trackthe progress of the sensing goal. Such tracking may mean updating thesensing goal to know what remaining samples are still needed to completethe sensing goal.

In a further embodiment, awareness of the remaining needs to completethe sensing goal may update selection of the devices chosen toparticipate in the sampling. For example, devices that require littleroute bias to reach the under-sampled west wing of a museum may bechosen to participate in sampling over devices whose geo-routes andlocation anchors bring them proximate the east wing, rather than thewest wing of the museum. At early points in creating the sensing goal,the devices that required little route bias to reach any part of themuseum were invited to participate in sampling. However, once the system100 determines that samples only need to be collected for the west wing,the system 100 may invite only the devices with low route bias for theeast wing, rather than the west wing, to participate in the sensinggoal.

In a further embodiment, once sensing goals are reached, the system 100may share the aggregate product among service users. For example, thesystem 100 may incorporate a 3D immersive model of a museum into furtherservices to assist in navigation.

In another embodiment, sensing goals may include any sensing parameters,including location, time, and/or activity. The previously discussedmuseum example is an instance of a location sensing goal. A time sensinggoal may include time as a target, for example, the sunset at a giventime, regardless of your location. Activity sensing goals may includedynamic goals, such as riots, street parties, car races, publictransportation routes, etc. For instance, a sensing goal may be set as acar race, wherein users at various points along a racetrack may capturethe cars going by in order to create an aggregate model of the race'sprogress. In another instance, a sensing goal may include anotherparameter altogether, such as air quality. In such a scenario, system100 may prompt users to take air quality samples throughout the dayand/or at specific times of the day, at various parts of a city.

Since system 100 may prompt users to participate in sensing goals, theprompt may include communicating to one or more users where the usershave an option to deviate from the usual geo-route in order toparticipate. In one instance, the prompt may appear within a thresholdproximity. For example, if a device's geo-route indicates that thedevice may pass through a certain area proximate a sensing goal, wherethe sensing goal is a location, the system 100 may generate a promptnotifying the device that it is proximate a sensing goal, and give thedevice the option to participate in the sensing goal.

Such a prompt may further use navigation services to help the user reachthe target location. As previously discussed, the prompt may includefurther directions to facilitate sampling to achieve the sensing goal.In the example of the 3D museum as a sensing goal, the directions mayinclude information on how to orient the mobile device. For instance, ifthe mobile device is sensing via a camera, the prompt may includeinformation on how to orient the camera to obtain an optimal sampleand/or augmentation techniques as to how to capture the sample.Furthermore, an exact frame may be highlighted or underlined, forinstance, in a viewfinder, so the user knows where to point the camerato sample for the sensing goal.

As shown in FIG. 1, the system 100 comprises a user equipment (UE) 101having connectivity to a goal processor 103 and database 107 via acommunication network 105. By way of example, the communication network105 of system 100 includes one or more networks such as a data network,a wireless network, a telephony network, or any combination thereof. Itis contemplated that the data network may be any local area network(LAN), metropolitan area network (MAN), wide area network (WAN), apublic data network (e.g., the Internet), short range wireless network,or any other suitable packet-switched network, such as a commerciallyowned, proprietary packet-switched network, e.g., a proprietary cable orfiber-optic network, and the like, or any combination thereof. Inaddition, the wireless network may be, for example, a cellular networkand may employ various technologies including enhanced data rates forglobal evolution (EDGE), general packet radio service (GPRS), globalsystem for mobile communications (GSM), Internet protocol multimediasubsystem (IMS), universal mobile telecommunications system (UMTS),etc., as well as any other suitable wireless medium, e.g., worldwideinteroperability for microwave access (WiMAX), Long Term Evolution (LTE)networks, code division multiple access (CDMA), wideband code divisionmultiple access (WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN),Bluetooth®, Internet Protocol (IP) data casting, satellite, mobilead-hoc network (MANET), and the like, or any combination thereof.

The UE 101 is any type of mobile terminal, fixed terminal, or portableterminal including a mobile handset, station, unit, device, multimediacomputer, multimedia tablet, Internet node, communicator, desktopcomputer, laptop computer, notebook computer, netbook computer, tabletcomputer, personal communication system (PCS) device, personalnavigation device, personal digital assistants (PDAs), audio/videoplayer, digital camera/camcorder, positioning device, televisionreceiver, radio broadcast receiver, electronic book device, game device,or any combination thereof, including the accessories and peripherals ofthese devices, or any combination thereof. It is also contemplated thatthe UE 101 can support any type of interface to the user (such as“wearable” circuitry, etc.).

In one embodiment, the goal processor 103 may determine one or moresensing goals from the database 107. In one scenario, determining one ormore sensing goals may include placing the sensing goal in an index orgeo-position. In another scenario, the one or more sensing goals may becompletely independent of one or more geo-positions. In a furtherembodiment, the goal processor 103 may determine the samples needed toobtain the one or more sensing goals. For instance, the goal processor103 may calculate the number of samples required to complete the one ormore sensing goals. In one case, the number of samples may be an initialnumber that is updated, contingent on the success of sensing goalcompletion. In one such scenario, if the sensing goal is achieving a 3Dimmersive environment, the goal processor 103 may initially set thenumber of samples needed as one thousand samples for a rough model ofthe environment. From there, the goal processor 103 may determine areaswhere more detail is needed and re-evaluate the number of samplesneeded. In one embodiment, the goal processor 103 may further break thesensing goal into sub-goals and determine the number of samples tocomplete each sub-goal. In addition to determining the number of samplesto achieve the one or more sensing goals and/or sub-goals, the goalprocessor 103 may define one or more sensing specifications for one ormore samples to capture samples that may be used effectively towardscompleting the goals. For instance, sensing specifications for the 3Dimmersive environment may include details on lighting, location, ororientation to help ensure that the samples captured are the samplesneeded to complete the sensing goal. As previously discussed, sensinggoals may be defined by any sensing parameter, including, at least inpart, location, time, and/or activity.

Once the goal processor 103 defines the one or more sensing goals, itmay process one or more geo-routes, one or more location anchors, or acombination thereof associated with one or more UEs 101 determineproximity information. In one embodiment, the goal processor 103 mayidentify all the UEs 101 that may participate in the collaborativesensing. In a further embodiment, the goal processor 103 may thenchoose, out of all the potential UEs 101 that may participate in thecollaborative sensing, a subset of UEs 101 to participate. The goalprocessor 103 may select the subset based on the processing of thegeo-routes and/or location anchors associated with the one or more UEs101. In one embodiment, the goal processor 103 selects the subset afterprocessing from proximity information between the one or more UEs 101and the one or more sensing goals. In a further embodiment, theprocessing yields a measure of the degree of biasing needed to apply toone or more geo-routes and/or one or more location anchors associatedwith one or more UEs 101. In one scenario, the selection may be based onthe least amount of biasing needed to apply. In other words, the one ormore UEs 101 that are selected would be those devices that may need todeviate from their usual routes to participate in the sensing goal.Therefore, of all the UEs 101 that may participate, participating in thesensing goal is more convenient for the selected UEs 101 than theun-selected UEs 101, at least from the standpoint of geo-route and/orlocation anchor information.

In one embodiment, the database 107 may store the one or more sensinggoals and one or more sensing specifications for the one or more sensinggoals. In a further embodiment, the database 107 may also containnavigation information to cause, at least in part, biasing of the one ormore geo-routes and/or location anchors to facilitate the one or moreUEs 101 in reaching the sensing goals. In one embodiment, the database107 may define one or more sensing goals as dynamic such that the goalsare re-defined as samples are taken and aggregated by the goal processor103.

In one embodiment, the one or more sensing modules 109 and one or moreinitiation modules 111 of each UE 101 work together to gather thesamples. In one embodiment, the sensing module 109 receives one or moresensing specifications from the goal processor 103. For instance for a3D immersive environment sensing goal, the sensing module 109 mayreceive the specification that a sample must be taken in night mode,facing east. In such a scenario, the initiation module 111 may thencreate a display for the UE 101 to show that the UE 101 is orientedeast, and that the camera setting is set to night mode.

In one embodiment, the initiation module 111 may create a display toinitiate participation towards the sensing goal. For example, once a UE101 is selected, the initiation module 111 may display a screen whereone or more users associated with the UE 101 may select whether toparticipate in the sensing goal and therefore receive further directionson sample collection. For instance, the initiation module 111 may workwith the database 107 to navigate the UE 101 to the sensing goal. Inanother instance, the initiation module 111 may produce a display toinstruct the user associated with the UE 101 on how to take one or moresamples. In one scenario where the sample is to be a photo of a site,the initiation module 111 may highlight, frame, underline, etc., thesite or portion of the site that the user may sample to contribute tothe sensing goal.

By way of example, the UE 101, goal processor 103, database 107, sensingmodules 109, and initiation modules 111 communicate with each other andother components of the communication network 105 using well known, newor still developing protocols. In this context, a protocol includes aset of rules defining how the network nodes within the communicationnetwork 105 interact with each other based on information sent over thecommunication links. The protocols are effective at different layers ofoperation within each node, from generating and receiving physicalsignals of various types, to selecting a link for transferring thosesignals, to the format of information indicated by those signals, toidentifying which software application executing on a computer systemsends or receives the information. The conceptually different layers ofprotocols for exchanging information over a network are described in theOpen Systems Interconnection (OSI) Reference Model.

Communications between the network nodes are typically effected byexchanging discrete packets of data. Each packet typically comprises (1)header information associated with a particular protocol, and (2)payload information that follows the header information and containsinformation that may be processed independently of that particularprotocol. In some protocols, the packet includes (3) trailer informationfollowing the payload and indicating the end of the payload information.The header includes information such as the source of the packet, itsdestination, the length of the payload, and other properties used by theprotocol. Often, the data in the payload for the particular protocolincludes a header and payload for a different protocol associated with adifferent, higher layer of the OSI Reference Model. The header for aparticular protocol typically indicates a type for the next protocolcontained in its payload. The higher layer protocol is said to beencapsulated in the lower layer protocol. The headers included in apacket traversing multiple heterogeneous networks, such as the Internet,typically include a physical (layer 1) header, a data-link (layer 2)header, an internetwork (layer 3) header and a transport (layer 4)header, and various application (layer 5, layer 6 and layer 7) headersas defined by the OSI Reference Model.

FIG. 2 is a diagram of the components of the goal processor 103,according to one embodiment. By way of example, the goal processor 103includes one or more components for providing sensing based on routebias. It is contemplated that the functions of these components may becombined in one or more components or performed by other components ofequivalent functionality. In this embodiment, the goal processorincludes a control logic 201, route platform 203, proximity platform205, sample platform 207, and selection platform 209.

The control logic 201 executes at least one algorithm for executingfunctions at the goal processor 103. For example, the control logic 201may interact with the route platform 203 to receive one or moregeo-routes, one or more location anchors, or a combination thereofassociated with one or more UEs 101. In one embodiment, the routeplatform 203 may determine one or more geo-routes, one or more locationanchors, or a combination thereof using historical and/or predicted userinformation, such as the daily work commute traveled by one or more UEs101. With the one or more geo-routes and/or one or more locationanchors, the control logic 201 and the proximity platform 205 maydetermine proximity information of one or more UEs 101 to one or moresensing goals. The control logic 201 and the proximity platform 205 maydetermine proximity information that includes, at least in part,location, temporal, contextual proximity information, or a combinationthereof.

The control logic 201 and sample platform 207 may define sensing goals,while the selection platform 209 may select a subset of UEs 101 toparticipate in sensing goals, based, at least in part, on the proximityinformation determined by the proximity platform 205. For instance, theUEs 101 with one or more geo-routes and/or one or more location anchorswithin a certain proximity threshold of one or more sensing goals may beselected out of all the UEs 101 part of communication network 105, toparticipate in a sensing goal. Alternately, the control logic 201 andselection platform 209 may sort the one or more UEs 101 based onproximity information, and select UEs 101 to participate in the one ormore sensing goals as a function of the sorting. For example in onescenario, the control logic 201 and selection platform 209 may determineto select the top ten UEs 101 geographically closest to a given sensinggoal to participate in sensing.

In one embodiment, the selection platform 209 may further use theproximity information to determine a degree of biasing to apply to theone or more geo-routes and/or one or more location anchors from routeplatform 203. With the degree of biasing, the selection platform 209 mayinteract with route platform 203 and initiation modules 111 ofrespective UEs 101 to direct the one or more UEs 101 to the one or moresensing goals. For example, the control logic 201 and respectiveinitiation modules 111 may work together to determine navigationguidance information to cause, at least in part, a biasing of the one ormore geo-routes and/or location anchors. In one scenario, this mayinclude initiation modules 111 displaying directions on how to reach thesensing goal.

In a further embodiment, the selection platform 209 may select the oneor more UEs 101 to participate in the one or more sensing goals based,at least in part, on the degree of biasing. For instance, one or moreUEs 101 s may be selected to participate in a sensing goal because theirhistory of geo-routes indicates that they will soon be proximate asensing goal (e.g., regardless of whether the UEs 101 are already nearthe sensing goal). In this situation, biasing is low because the one ormore UEs 101 will soon be within the vicinity of the sensing goal. Theselection platform 209 may then select the one or more UEs 101 whoseassociated geo-routes will require little biasing to reach the sensinggoal, relative to the one or more UEs 101 whose associated geo-routeswould require major biasing or modification to reach the sensing goal.

FIG. 3 is a diagram of the components of a sample platform, according toone embodiment. By way of example, the sample platform 207 includes oneor more components for taking one or more samples of one or more sensinggoals. It is contemplated that the functions of these components may becombined in one or more components or performed by other components ofequivalent functionality. In this embodiment, the goal processorincludes a controller 301, segmentation module 303, specification module305, display module 307, evaluation module 309, and report module 311.

The controller 301 may cause the segmentation module 303 to divide theone or more sensing goals into one or more sub-goals. For instance, if asensing goal is a museum, a sub-goal may include the museum buildingitself, museum grounds, and interior exhibits. In another example, thesensing goal of a museum may be divided into sub-goals detailingdifferent aspects of its facade, such as different sides of the museumbuilding. The subset of one or more UEs 101 chosen by the selectionplatform 209 may be related to the one or more sub-goals defined. Thecontrol logic 201 may assign one or more sub-goals to at least a subsetof the one or more UEs 101 selected. Such an assignment may be based, atleast in part, on proximity information and/or degree of biasing, asdescribed earlier.

Next, the controller 301 may cause the specification module 305 todetermine one or more sensing specifications associated with the one ormore sensing goals, the one or more sub-goals, or a combination thereof.For example, specification module 305 sensing specifications may includeguidance on how to best capture a sample of the sensing goal. In oneembodiment, the specification module 305 may provide specifications suchas sampling time, how to orient the one or more UEs 101, what settingsto apply, or a combination thereof. In a further embodiment, thespecification module 305 may work with the display module 307 to moreeasily direct the one or more UEs 101. For instance, the controller 301,specification module 305, and display module 307 may interact to producea display where sensing goals and/or sub-goals are highlighted oroutlined in an image. Following on the example of a museum facade as asensing goal, in one scenario, the display module 307 may highlightareas of the facade that require sampling, as the museum appears in theviewfinder of a selected UE 101. The one or more UEs 101 may then moreefficiently capture samples that contribute to sensing goals and/orsub-goals.

The evaluation module 309 may work with the controller 301 to processthe sample with respect to the sensing goals and/or sub-goals to cause,at least in part, an updating of the one or more goals, sub-goals,assignment, selection of the one or more devices, or a combinationthereof. For example, the evaluation module 309 may determine that asensing goal is complete and no further sensing is required. In anotherexample, the evaluation module 309 may evaluate the sample captured anddetermine whether it satisfies specifications suggested by thespecification module 305. In one embodiment, the evaluation module 309may interact with the report module 311 to generate one or morecompletion reports of the one or more goals, the one or more sub-goals,or a combination to cause an updating of the goals and/or sub-goals thatneed to be captured. In another embodiment, the report module 311 mayalso inform the one or more UEs 101 of whether their one or more samplessatisfied sensing requirements. For instance, after one or more UEs 101captures a sample, the evaluation module 309 may analyze the sample foradequacy and cause the report module 311 to generate a completion reportdisplayed on one or more UEs 101 showing the success (or lack ofsuccess) of the capture. In a further embodiment, the report module 311may perhaps provide guidance for another sampling, whether because theprevious sample was inadequate, or because another goal and/or sub-goalare in close proximity.

FIG. 4 is a flowchart of a process for sensing based on route bias,according to one embodiment. In one embodiment, the goal processor 103performs the process 400 and is implemented in, for instance, a chip setincluding a processor and a memory as shown in FIG. 11. In step 401, thecontrol logic 201 may process and/or facilitate a processing of one ormore geo-routes, one or more location anchors, or a combination thereofassociated with one or more devices. In one embodiment, the controllogic 201 may determine the one or more geo-routes, the one or morelocation anchors, or a combination thereof based, at least in part, onhistorical user information, predicted user information, or acombination thereof. Next, in step 403, the control logic 201 maydetermine proximity information of the one or more devices to one ormore sensing goals based on the processing of the one or moregeo-routes, the one or more location anchors, or a combination thereof.Proximity information may include, at least in part, location proximityinformation, temporal proximity information, contextual proximityinformation, or a combination thereof. The control logic 201 may lateruse such information, for instance, to select at least a subset of theone or more devices to participate in the one or more sensing goals.

Once proximity information is found, the control logic 201 may determinea degree of biasing to apply to the one or more geo-routes, the one ormore location anchors, or a combination thereof to direct the one ormore devices to the one or more sensing goals (step 405). In oneembodiment, step 405 may further include determining contextinformation, user preference information, or a combination thereofassociated with the one or more devices, wherein the selection of the atleast a subset is further based, at least in part, on the contextinformation, the user preference information, or a combination thereof.

For step 407, the control logic 201 may evaluate relative proximityinformation or degrees of biasing associated with one or more devicesand one or more sensing goals (step 407). Consequently, the controllogic 201 may cause, at least in part, a selection of the at least asubset of the one or more devices to participate in the one or moresensing goals based, at least in part, on the proximity information(step 409). Where biasing is taken into consideration in addition toproximity, the control logic determines the degree of biasing, whereinthe selection of the at least one subset is further based, at least inpart, on the degree of biasing (step 409). In one embodiment, theselection may further trigger the goal processor 103 to cause, at leastin part, a generation of one or more requests to participate in the oneor more sensing goals, and cause, at least in part, a transmission ofthe one or more requests to the one or more devices, the at least asubset of the one or more devices, or a combination thereof based, atleast in part, on the proximity information. In another embodiment, thecontrol logic 201 may further determine navigation guidance informationto cause, at least in part, a biasing of the one or more geo-routes, theone or more location anchors, or a combination thereof, wherein thenavigation guidance information directs the at least a subset of the oneor more devices to the one or more sensing goals.

FIG. 5 is a flowchart of a process for one or more devices toparticipate in the one or more sensing goals, according to oneembodiment. In one embodiment, the sample platform 207 performs theprocess 500 and is implemented in, for instance, a chip set including aprocessor and a memory as shown in FIG. 11. For step 501, the controller301 may cause, at least in part, a segmentation of the one or more goalsinto one or more sub-goals and cause, at least in part, an assignment ofthe one or more sub-goals to the at least one subset of the one or moredevices based, at least in part, on proximity information. Next, thecontroller 301 may determine one or more sensing specificationsassociated with the one or more goals, the one or more sub-goals, or acombination thereof (step 503). Then, the controller 301 may cause, atleast in part, a transmission of the one or more sensing specificationsto the at least one subset of the one or more devices (step 505). Once asample is taken, the controller 301 may process and/or facilitate aprocessing of one or more completion reports of the one or more goals,the one or more sub-goals, or a combination thereof (step 507). Then,the controller 301, communication network 105, and database 107 may usethe processing to cause, at least in part, an updating of the one ormore goals, the one or more sub-goals, the assignment, the selection ofthe at least a subset of the one or more devices, or a combinationthereof.

FIG. 6 is a flowchart of a process for defining one or more sensinggoals, according to one embodiment. In one instance, to initial process600, sample platform 207 may determine one or more sensors available atthe one or more UEs 101 (step 601). For example, the one or more sensorsmay include sensors for capturing one or more samples or sensors forproviding context information. Such sensors may include cameras orvarious measurement gauges for capturing the sample or contextinformation sensors such as location or orientation sensors. Next, atstep 603, the sample platform 207 may determine one or more goals tocapture with the one or more sensors. In one scenario, a user mayidentify a goal to achieve using the one or more sensors available. Aspreviously discussed, such a goal may be defined by any sensingparameter, such as location, time, and/or activity. Such goals mayinclude building a model of a stationary object, modeling a movingentity, such as a mob or parade, monitoring air quality, etc. In oneembodiment where a sensing goal is defined as a photographicapplication, the absolute position of one or more UEs 101 may bedetermined by a GPS-based location system. The system 100 may thenreference location coordinates against a mapping system that detailsobjects (such as buildings) present at the location.

To get a sense of how to complete the goal, sample platform 207 maycapture one or more initial samples (step 605). Once there are initialsamples, the sample platform 207 may process the one or more initialsamples to determine one or more parameters needed to complete the oneor more goals (step 607). For instance, one or more parameters mayinclude the sensing specifications for the samples, as well as thenumber of samples needed to complete the one or more sensing goals.Continuing from the previously discussed photographic sensing goal, thereferencing of location coordinates against a mapping system may beimproved by using a sampled photograph from one or more UEs 101participating, to cross reference an image library to determine one ormore parameters. In another embodiment, the system 100 may invite one ormore UEs 101 to enter a text-based description of the location andnature of the sensing goal. In a further embodiment, the system 100 maydetect the absolute location of one or more UEs 101 using GPS means andinvite the one or more UEs 101 to select a sensing goal based on thecapability of the sensors embedded in the one or more mobile terminalsof the respective one or more UEs 101. In yet another furtherembodiment, the system 100 may invite one or more UEs 101 to qualify theexact location of the sensing goal.

Optionally, the system 100 may update the one or more parameters bycomparing the sensing goal and location to a database of previouslycompleted sensing goals. In one such case, the one or more UEs 101 maybe notified if the sensing goal is completed. In one instance, thesystem 100 may present the one or more UEs 101 with a number of options,one of which may include extending a dataset (or a completed goal) byadding additional samples.

To determine the number and nature of samples to acquire to achieve thesensing goal, the system 100 may use a number of methods, some of whichmay depend on the sensing goal. For photographic applications, forinstance, the system 100 may reference a satellite image of the locationof approximate dimensions, profile, and accessibility by users. Thesystem 100 may define a number of points around a perimeter of thesensing goal based on the building size, profile, likely distances ofone or more UEs 101 from the building, and the orientation of each ofthe UEs 101 to capture samples. For non-photographic applications, thesystem 100 may use templates to interact with the one or more UEs 101 todetermine sensing profiles with parameters other than spatial factors.One such profile may include a time variant sensing profile.

Finally, in step 609, the sample platform 207 may deliver the one ormore parameters to one or more sensors for the one or more sensors toparticipate in the one or more defined sensing goals. As previouslydiscussed, the system 100 may invite one or more UEs 101 to contributeto a sensing goal based on the proximity to the sensing goal, expressedinterest in achieving goals of a similar type, and general proximity ofthe sensing goal or other criteria. In particular, the system 100 mayselect one or more UEs 101 to participate based on geo-routes and/orlocation anchors of respective UEs 101 being located in proximity to thesensing goal. In other words, the system 100 selects the UEs 101 basedon the degree of “route bias” needed to participate in the sensing goal.This may include UEs 101 that are, according to their geo-routinesand/or location anchors, likely to be at or proximate to the sensinggoal at particular times for time variant sensing goals.

FIG. 7 is a flowchart of a process for sharing one or more sensinggoals, according to one embodiment. In one embodiment, to initiateprocess 700, one or more UEs 101 may upload one or more samples to oneor more databases 107 (step 701). As previously discussed, the goalprocessor 103 may provide one or more UEs 101 with directions on how toobtain the sample, including navigation guidance and sensingspecifications. The goal processor 103 may then tag one or more sampleswith parameters such as the location and orientation of the one or moresamples (step 703). As a result, the system 100 may associate sampleswith related samples in the one or more databases 107 (step 705). In oneembodiment, the goal processor 103 may associate the samples bycomparing samples with unexpected location and/or orientationinformation with the samples required. Then, the system 100 mayaggregate the one or more samples to share in the system 100 (step 707).If the location and/or orientation information of a sample matches thespecifications of samples required, the system 100 may retain the sampleand update the sensing goal to account for the contribution. Thisprocess may be iterated multiple times until the sensing goal isachieved. In one embodiment, the goal processor 103 may notify all theparticipating UEs 101 when the goal is achieved. In another embodiment,the samples, in raw or processed form, may be available to allcontributors.

FIG. 8 is a schematic block diagram of a terminal of one or more userdevices, according to one embodiment. In one embodiment, the one or moreUEs 101 have one or more sensors 801. The sensors may be of sensortypes, including sensors for one or more cameras, temperatures, chemicaland/or biological substances, location, orientation, or some combinationthereof. For instance, the sensors 801 may include CMOS or CCD as partof a camera system. In another example, the sensors 801 may includefeatures with at least one means of determining the absolute location ofthe device and its orientation. In one scenario, such sensors 801 mayinclude one or more positioning sensors 803. In a further example, thesensors 801 may include a GPS-based location system and gyroscope (e.g.,gyroscope 805) and/or electric compass to better orient the one or moreUEs 101 for collecting samples. In addition, in one embodiment, the oneor more UEs 101 may have a controller 807 for handling components of theone or more UEs 101, such as the sensors 801, positioning sensors 803,etc. The controller 807 may also interact with receiver 809 (e.g., thatreceives data received via antenna 811), microphone 813, universal inputmethods (UIM) 815, and a keypad 817 to receive other inputs. Othercomponents include memories 819 and 821 for storing and accessing data,a transmitter 823 for transmitting data, a display 825 for renderinginformation to users, a ringer 827 for alerting users (e.g., alarm,phone calls, etc.), a speaker 829 for presenting audio to users, etc.

FIGS. 9A-9C are diagrams of use cases utilized in the processes of FIG.4, according to various embodiments. FIG. 9A shows one possible sensinggoal being the Houses of Parliament in London, UK as a 3D photographicgoal. In one embodiment, one user may take an initial photograph of theHouses of Parliament (e.g., photograph 901) and set it as a sensinggoal. With the processes of FIG. 4, the system 100 may then calculatethe required characteristics, including sensing specifications and/ornumber of samples needed for subsequent sampling to complete the 3Dphotographic goal. Next, the goal processor 103 may invite one or moreother UEs 101 to contribute to the sensing goal, according to the degreeof route bias as described in the process of FIG. 4. As previouslydiscussed, the goal processor 103 and database 107 may continuallyaggregate the samples to build the sensing goal.

FIGS. 9B and 9C show a further use case wherein the sensing goal may beobservation of a certain area. For instance, system 100 may observe anarea, such as a street or a specific point location, to analyze aspecific context. In one scenario, such a context may be air pollution.In one embodiment, the sensing goal of observing the air pollution of acertain area may be set by a user. In such a case, the user maycontribute the first samples (e.g., sample 931), then invite other usersto contribute samples as well (e.g., sample 933). In one scenario, oneor more other UEs 101 may be prompted to contribute samples on atime-variant basis. As previously described, the system 100 mayfacilitate the contribution from one or more UEs 101 by biasinggeo-routes or anchor points of the respective one or more UEs 101 thatare in proximity of the sensing area.

The processes described herein for sensing based on route bias may beadvantageously implemented via software, hardware, firmware or acombination of software and/or firmware and/or hardware. For example,the processes described herein, may be advantageously implemented viaprocessor(s), Digital Signal Processing (DSP) chip, an ApplicationSpecific Integrated Circuit (ASIC), Field Programmable Gate Arrays(FPGAs), etc. Such exemplary hardware for performing the describedfunctions is detailed below.

FIG. 10 illustrates a computer system 1000 upon which an embodiment ofthe invention may be implemented. Although computer system 1000 isdepicted with respect to a particular device or equipment, it iscontemplated that other devices or equipment (e.g., network elements,servers, etc.) within FIG. 10 can deploy the illustrated hardware andcomponents of system 1000. Computer system 1000 is programmed (e.g., viacomputer program code or instructions) to sensing based on route bias asdescribed herein and includes a communication mechanism such as a bus1010 for passing information between other internal and externalcomponents of the computer system 1000. Information (also called data)is represented as a physical expression of a measurable phenomenon,typically electric voltages, but including, in other embodiments, suchphenomena as magnetic, electromagnetic, pressure, chemical, biological,molecular, atomic, sub-atomic and quantum interactions. For example,north and south magnetic fields, or a zero and non-zero electricvoltage, represent two states (0, 1) of a binary digit (bit). Otherphenomena can represent digits of a higher base. A superposition ofmultiple simultaneous quantum states before measurement represents aquantum bit (qubit). A sequence of one or more digits constitutesdigital data that is used to represent a number or code for a character.In some embodiments, information called analog data is represented by anear continuum of measurable values within a particular range. Computersystem 1000, or a portion thereof, constitutes a means for performingone or more steps of sensing based on route bias.

A bus 1010 includes one or more parallel conductors of information sothat information is transferred quickly among devices coupled to the bus1010. One or more processors 1002 for processing information are coupledwith the bus 1010.

A processor (or multiple processors) 1002 performs a set of operationson information as specified by computer program code related to sensingbased on route bias. The computer program code is a set of instructionsor statements providing instructions for the operation of the processorand/or the computer system to perform specified functions. The code, forexample, may be written in a computer programming language that iscompiled into a native instruction set of the processor. The code mayalso be written directly using the native instruction set (e.g., machinelanguage). The set of operations include bringing information in fromthe bus 1010 and placing information on the bus 1010. The set ofoperations also typically include comparing two or more units ofinformation, shifting positions of units of information, and combiningtwo or more units of information, such as by addition or multiplicationor logical operations like OR, exclusive OR (XOR), and AND. Eachoperation of the set of operations that can be performed by theprocessor is represented to the processor by information calledinstructions, such as an operation code of one or more digits. Asequence of operations to be executed by the processor 1002, such as asequence of operation codes, constitute processor instructions, alsocalled computer system instructions or, simply, computer instructions.Processors may be implemented as mechanical, electrical, magnetic,optical, chemical or quantum components, among others, alone or incombination.

Computer system 1000 also includes a memory 1004 coupled to bus 1010.The memory 1004, such as a random access memory (RAM) or any otherdynamic storage device, stores information including processorinstructions for sensing based on route bias. Dynamic memory allowsinformation stored therein to be changed by the computer system 1000.RAM allows a unit of information stored at a location called a memoryaddress to be stored and retrieved independently of information atneighboring addresses. The memory 1004 is also used by the processor1002 to store temporary values during execution of processorinstructions. The computer system 1000 also includes a read only memory(ROM) 1006 or any other static storage device coupled to the bus 1010for storing static information, including instructions, that is notchanged by the computer system 1000. Some memory is composed of volatilestorage that loses the information stored thereon when power is lost.Also coupled to bus 1010 is a non-volatile (persistent) storage device1008, such as a magnetic disk, optical disk or flash card, for storinginformation, including instructions, that persists even when thecomputer system 1000 is turned off or otherwise loses power.

Information, including instructions for sensing based on route bias, isprovided to the bus 1010 for use by the processor from an external inputdevice 1012, such as a keyboard containing alphanumeric keys operated bya human user, a microphone, an Infrared (IR) remote control, a joystick,a game pad, a stylus pen, a touch screen, or a sensor. A sensor detectsconditions in its vicinity and transforms those detections into physicalexpression compatible with the measurable phenomenon used to representinformation in computer system 1000. Other external devices coupled tobus 1010, used primarily for interacting with humans, include a displaydevice 1014, such as a cathode ray tube (CRT), a liquid crystal display(LCD), a light emitting diode (LED) display, an organic LED (OLED)display, a plasma screen, or a printer for presenting text or images,and a pointing device 1016, such as a mouse, a trackball, cursordirection keys, or a motion sensor, for controlling a position of asmall cursor image presented on the display 1014 and issuing commandsassociated with graphical elements presented on the display 1014. Insome embodiments, for example, in embodiments in which the computersystem 1000 performs all functions automatically without human input,one or more of external input device 1012, display device 1014 andpointing device 1016 is omitted.

In the illustrated embodiment, special purpose hardware, such as anapplication specific integrated circuit (ASIC) 1020, is coupled to bus1010. The special purpose hardware is configured to perform operationsnot performed by processor 1002 quickly enough for special purposes.Examples of ASICs include graphics accelerator cards for generatingimages for display 1014, cryptographic boards for encrypting anddecrypting messages sent over a network, speech recognition, andinterfaces to special external devices, such as robotic arms and medicalscanning equipment that repeatedly perform some complex sequence ofoperations that are more efficiently implemented in hardware.

Computer system 1000 also includes one or more instances of acommunications interface 1070 coupled to bus 1010. Communicationinterface 1070 provides a one-way or two-way communication coupling to avariety of external devices that operate with their own processors, suchas printers, scanners and external disks. In general the coupling iswith a network link 1078 that is connected to a local network 1080 towhich a variety of external devices with their own processors areconnected. For example, communication interface 1070 may be a parallelport or a serial port or a universal serial bus (USB) port on a personalcomputer. In some embodiments, communications interface 1070 is anintegrated services digital network (ISDN) card or a digital subscriberline (DSL) card or a telephone modem that provides an informationcommunication connection to a corresponding type of telephone line. Insome embodiments, a communication interface 1070 is a cable modem thatconverts signals on bus 1010 into signals for a communication connectionover a coaxial cable or into optical signals for a communicationconnection over a fiber optic cable. As another example, communicationsinterface 1070 may be a local area network (LAN) card to provide a datacommunication connection to a compatible LAN, such as Ethernet. Wirelesslinks may also be implemented. For wireless links, the communicationsinterface 1070 sends or receives or both sends and receives electrical,acoustic or electromagnetic signals, including infrared and opticalsignals, that carry information streams, such as digital data. Forexample, in wireless handheld devices, such as mobile telephones likecell phones, the communications interface 1070 includes a radio bandelectromagnetic transmitter and receiver called a radio transceiver. Incertain embodiments, the communications interface 1070 enablesconnection to the communication network 105 for sensing based on routebias to the UE 101.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing information to processor 1002, includinginstructions for execution. Such a medium may take many forms,including, but not limited to computer-readable storage medium (e.g.,non-volatile media, volatile media), and transmission media.Non-transitory media, such as non-volatile media, include, for example,optical or magnetic disks, such as storage device 1008. Volatile mediainclude, for example, dynamic memory 1004. Transmission media include,for example, twisted pair cables, coaxial cables, copper wire, fiberoptic cables, and carrier waves that travel through space without wiresor cables, such as acoustic waves and electromagnetic waves, includingradio, optical and infrared waves. Signals include man-made transientvariations in amplitude, frequency, phase, polarization or otherphysical properties transmitted through the transmission media. Commonforms of computer-readable media include, for example, a floppy disk, aflexible disk, hard disk, magnetic tape, any other magnetic medium, aCD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape,optical mark sheets, any other physical medium with patterns of holes orother optically recognizable indicia, a RAM, a PROM, an EPROM, aFLASH-EPROM, an EEPROM, a flash memory, any other memory chip orcartridge, a carrier wave, or any other medium from which a computer canread. The term computer-readable storage medium is used herein to referto any computer-readable medium except transmission media.

Logic encoded in one or more tangible media includes one or both ofprocessor instructions on a computer-readable storage media and specialpurpose hardware, such as ASIC 1020.

Network link 1078 typically provides information communication usingtransmission media through one or more networks to other devices thatuse or process the information. For example, network link 1078 mayprovide a connection through local network 1080 to a host computer 1082or to equipment 1084 operated by an Internet Service Provider (ISP). ISPequipment 1084 in turn provides data communication services through thepublic, world-wide packet-switching communication network of networksnow commonly referred to as the Internet 1090.

A computer called a server host 1092 connected to the Internet hosts aprocess that provides a service in response to information received overthe Internet. For example, server host 1092 hosts a process thatprovides information representing video data for presentation at display1014. It is contemplated that the components of system 1000 can bedeployed in various configurations within other computer systems, e.g.,host 1082 and server 1092.

At least some embodiments of the invention are related to the use ofcomputer system 1000 for implementing some or all of the techniquesdescribed herein. According to one embodiment of the invention, thosetechniques are performed by computer system 1000 in response toprocessor 1002 executing one or more sequences of one or more processorinstructions contained in memory 1004. Such instructions, also calledcomputer instructions, software and program code, may be read intomemory 1004 from another computer-readable medium such as storage device1008 or network link 1078. Execution of the sequences of instructionscontained in memory 1004 causes processor 1002 to perform one or more ofthe method steps described herein. In alternative embodiments, hardware,such as ASIC 1020, may be used in place of or in combination withsoftware to implement the invention. Thus, embodiments of the inventionare not limited to any specific combination of hardware and software,unless otherwise explicitly stated herein.

The signals transmitted over network link 1078 and other networksthrough communications interface 1070, carry information to and fromcomputer system 1000. Computer system 1000 can send and receiveinformation, including program code, through the networks 1080, 1090among others, through network link 1078 and communications interface1070. In an example using the Internet 1090, a server host 1092transmits program code for a particular application, requested by amessage sent from computer 1000, through Internet 1090, ISP equipment1084, local network 1080 and communications interface 1070. The receivedcode may be executed by processor 1002 as it is received, or may bestored in memory 1004 or in storage device 1008 or any othernon-volatile storage for later execution, or both. In this manner,computer system 1000 may obtain application program code in the form ofsignals on a carrier wave.

Various forms of computer readable media may be involved in carrying oneor more sequence of instructions or data or both to processor 1002 forexecution. For example, instructions and data may initially be carriedon a magnetic disk of a remote computer such as host 1082. The remotecomputer loads the instructions and data into its dynamic memory andsends the instructions and data over a telephone line using a modem. Amodem local to the computer system 1000 receives the instructions anddata on a telephone line and uses an infra-red transmitter to convertthe instructions and data to a signal on an infra-red carrier waveserving as the network link 1078. An infrared detector serving ascommunications interface 1070 receives the instructions and data carriedin the infrared signal and places information representing theinstructions and data onto bus 1010. Bus 1010 carries the information tomemory 1004 from which processor 1002 retrieves and executes theinstructions using some of the data sent with the instructions. Theinstructions and data received in memory 1004 may optionally be storedon storage device 1008, either before or after execution by theprocessor 1002.

FIG. 11 illustrates a chip set or chip 1100 upon which an embodiment ofthe invention may be implemented. Chip set 1100 is programmed to sensingbased on route bias as described herein and includes, for instance, theprocessor and memory components described with respect to FIG. 10incorporated in one or more physical packages (e.g., chips). By way ofexample, a physical package includes an arrangement of one or morematerials, components, and/or wires on a structural assembly (e.g., abaseboard) to provide one or more characteristics such as physicalstrength, conservation of size, and/or limitation of electricalinteraction. It is contemplated that in certain embodiments the chip set1100 can be implemented in a single chip. It is further contemplatedthat in certain embodiments the chip set or chip 1100 can be implementedas a single “system on a chip.” It is further contemplated that incertain embodiments a separate ASIC would not be used, for example, andthat all relevant functions as disclosed herein would be performed by aprocessor or processors. Chip set or chip 1100, or a portion thereof,constitutes a means for performing one or more steps of providing userinterface navigation information associated with the availability offunctions. Chip set or chip 1100, or a portion thereof, constitutes ameans for performing one or more steps of sensing based on route bias.

In one embodiment, the chip set or chip 1100 includes a communicationmechanism such as a bus 1101 for passing information among thecomponents of the chip set 1100. A processor 1103 has connectivity tothe bus 1101 to execute instructions and process information stored in,for example, a memory 1105. The processor 1103 may include one or moreprocessing cores with each core configured to perform independently. Amulti-core processor enables multiprocessing within a single physicalpackage. Examples of a multi-core processor include two, four, eight, orgreater numbers of processing cores. Alternatively or in addition, theprocessor 1103 may include one or more microprocessors configured intandem via the bus 1101 to enable independent execution of instructions,pipelining, and multithreading. The processor 1103 may also beaccompanied with one or more specialized components to perform certainprocessing functions and tasks such as one or more digital signalprocessors (DSP) 1107, or one or more application-specific integratedcircuits (ASIC) 1109. A DSP 1107 typically is configured to processreal-world signals (e.g., sound) in real time independently of theprocessor 1103. Similarly, an ASIC 1109 can be configured to performedspecialized functions not easily performed by a more general purposeprocessor. Other specialized components to aid in performing theinventive functions described herein may include one or more fieldprogrammable gate arrays (FPGA), one or more controllers, or one or moreother special-purpose computer chips.

In one embodiment, the chip set or chip 1100 includes merely one or moreprocessors and some software and/or firmware supporting and/or relatingto and/or for the one or more processors.

The processor 1103 and accompanying components have connectivity to thememory 1105 via the bus 1101. The memory 1105 includes both dynamicmemory (e.g., RAM, magnetic disk, writable optical disk, etc.) andstatic memory (e.g., ROM, CD-ROM, etc.) for storing executableinstructions that when executed perform the inventive steps describedherein to sensing based on route bias. The memory 1105 also stores thedata associated with or generated by the execution of the inventivesteps.

FIG. 12 is a diagram of exemplary components of a mobile terminal (e.g.,handset) for communications, which is capable of operating in the systemof FIG. 1, according to one embodiment. In some embodiments, mobileterminal 1201, or a portion thereof, constitutes a means for performingone or more steps of sensing based on route bias. Generally, a radioreceiver is often defined in terms of front-end and back-endcharacteristics. The front-end of the receiver encompasses all of theRadio Frequency (RF) circuitry whereas the back-end encompasses all ofthe base-band processing circuitry. As used in this application, theterm “circuitry” refers to both: (1) hardware-only implementations (suchas implementations in only analog and/or digital circuitry), and (2) tocombinations of circuitry and software (and/or firmware) (such as, ifapplicable to the particular context, to a combination of processor(s),including digital signal processor(s), software, and memory(ies) thatwork together to cause an apparatus, such as a mobile phone or server,to perform various functions). This definition of “circuitry” applies toall uses of this term in this application, including in any claims. As afurther example, as used in this application and if applicable to theparticular context, the term “circuitry” would also cover animplementation of merely a processor (or multiple processors) and its(or their) accompanying software/or firmware. The term “circuitry” wouldalso cover if applicable to the particular context, for example, abaseband integrated circuit or applications processor integrated circuitin a mobile phone or a similar integrated circuit in a cellular networkdevice or other network devices.

Pertinent internal components of the telephone include a Main ControlUnit (MCU) 1203, a Digital Signal Processor (DSP) 1205, and areceiver/transmitter unit including a microphone gain control unit and aspeaker gain control unit. A main display unit 1207 provides a displayto the user in support of various applications and mobile terminalfunctions that perform or support the steps of sensing based on routebias. The display 1207 includes display circuitry configured to displayat least a portion of a user interface of the mobile terminal (e.g.,mobile telephone). Additionally, the display 1207 and display circuitryare configured to facilitate user control of at least some functions ofthe mobile terminal. An audio function circuitry 1209 includes amicrophone 1211 and microphone amplifier that amplifies the speechsignal output from the microphone 1211. The amplified speech signaloutput from the microphone 1211 is fed to a coder/decoder (CODEC) 1213.

A radio section 1215 amplifies power and converts frequency in order tocommunicate with a base station, which is included in a mobilecommunication system, via antenna 1217. The power amplifier (PA) 1219and the transmitter/modulation circuitry are operationally responsive tothe MCU 1203, with an output from the PA 1219 coupled to the duplexer1221 or circulator or antenna switch, as known in the art. The PA 1219also couples to a battery interface and power control unit 1220.

In use, a user of mobile terminal 1201 speaks into the microphone 1211and his or her voice along with any detected background noise isconverted into an analog voltage. The analog voltage is then convertedinto a digital signal through the Analog to Digital Converter (ADC)1223. The control unit 1203 routes the digital signal into the DSP 1205for processing therein, such as speech encoding, channel encoding,encrypting, and interleaving. In one embodiment, the processed voicesignals are encoded, by units not separately shown, using a cellulartransmission protocol such as enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., microwave access (WiMAX), LongTerm Evolution (LTE) networks, code division multiple access (CDMA),wideband code division multiple access (WCDMA), wireless fidelity(WiFi), satellite, and the like, or any combination thereof.

The encoded signals are then routed to an equalizer 1225 forcompensation of any frequency-dependent impairments that occur duringtransmission though the air such as phase and amplitude distortion.After equalizing the bit stream, the modulator 1227 combines the signalwith a RF signal generated in the RF interface 1229. The modulator 1227generates a sine wave by way of frequency or phase modulation. In orderto prepare the signal for transmission, an up-converter 1231 combinesthe sine wave output from the modulator 1227 with another sine wavegenerated by a synthesizer 1233 to achieve the desired frequency oftransmission. The signal is then sent through a PA 1219 to increase thesignal to an appropriate power level. In practical systems, the PA 1219acts as a variable gain amplifier whose gain is controlled by the DSP1205 from information received from a network base station. The signalis then filtered within the duplexer 1221 and optionally sent to anantenna coupler 1235 to match impedances to provide maximum powertransfer. Finally, the signal is transmitted via antenna 1217 to a localbase station. An automatic gain control (AGC) can be supplied to controlthe gain of the final stages of the receiver. The signals may beforwarded from there to a remote telephone which may be another cellulartelephone, any other mobile phone or a land-line connected to a PublicSwitched Telephone Network (PSTN), or other telephony networks.

Voice signals transmitted to the mobile terminal 1201 are received viaantenna 1217 and immediately amplified by a low noise amplifier (LNA)1237. A down-converter 1239 lowers the carrier frequency while thedemodulator 1241 strips away the RF leaving only a digital bit stream.The signal then goes through the equalizer 1225 and is processed by theDSP 1205. A Digital to Analog Converter (DAC) 1243 converts the signaland the resulting output is transmitted to the user through the speaker1245, all under control of a Main Control Unit (MCU) 1203 which can beimplemented as a Central Processing Unit (CPU).

The MCU 1203 receives various signals including input signals from thekeyboard 1247. The keyboard 1247 and/or the MCU 1203 in combination withother user input components (e.g., the microphone 1211) comprise a userinterface circuitry for managing user input. The MCU 1203 runs a userinterface software to facilitate user control of at least some functionsof the mobile terminal 1201 to sensing based on route bias. The MCU 1203also delivers a display command and a switch command to the display 1207and to the speech output switching controller, respectively. Further,the MCU 1203 exchanges information with the DSP 1205 and can access anoptionally incorporated SIM card 1249 and a memory 1251. In addition,the MCU 1203 executes various control functions required of theterminal. The DSP 1205 may, depending upon the implementation, performany of a variety of conventional digital processing functions on thevoice signals. Additionally, DSP 1205 determines the background noiselevel of the local environment from the signals detected by microphone1211 and sets the gain of microphone 1211 to a level selected tocompensate for the natural tendency of the user of the mobile terminal1201.

The CODEC 1213 includes the ADC 1223 and DAC 1243. The memory 1251stores various data including call incoming tone data and is capable ofstoring other data including music data received via, e.g., the globalInternet. The software module could reside in RAM memory, flash memory,registers, or any other form of writable storage medium known in theart. The memory device 1251 may be, but not limited to, a single memory,CD, DVD, ROM, RAM, EEPROM, optical storage, magnetic disk storage, flashmemory storage, or any other non-volatile storage medium capable ofstoring digital data.

An optionally incorporated SIM card 1249 carries, for instance,important information, such as the cellular phone number, the carriersupplying service, subscription details, and security information. TheSIM card 1249 serves primarily to identify the mobile terminal 1201 on aradio network. The card 1249 also contains a memory for storing apersonal telephone number registry, text messages, and user specificmobile terminal settings.

While the invention has been described in connection with a number ofembodiments and implementations, the invention is not so limited butcovers various obvious modifications and equivalent arrangements, whichfall within the purview of the appended claims. Although features of theinvention are expressed in certain combinations among the claims, it iscontemplated that these features can be arranged in any combination andorder.

What is claimed is:
 1. A method comprising: processing by a processorone or more predicted geo-routes, one or more predicted locationanchors, or a combination thereof physically associated with a user ofone or more devices to determine proximity information of the one ormore devices to one or more sensing goals; determining a degree ofbiasing to apply to the one or more predicted geo-routes, the one ormore predicted location anchors, or a combination thereof to direct theuser to physically move the one or more devices near or at one or morepoints of interest in order to capture sensor data based, at least inpart, on the one or more sensing goals; and selecting at least a subsetof the one or more devices to participate in the one or more sensinggoals based, at least in part, on the proximity information, the degreeof biasing, or a combination thereof.
 2. A method of claim 1, furthercomprising: causing, at least in part, capturing of the sensor data bythe at least a subset based at least in part, on the proximityinformation, the degree of biasing, or a combination thereof, whereinthe one or more predicted location anchors are determined based on oneor more user past locations, one or more user routine locations, or acombination thereof, and wherein the one or more predicted geo-routesare determined based on one or more user past routes, one or more userroutine routes, one or more user planned routes, or a combinationthereof.
 3. A method of claim 1, further comprising: causing, at leastin part, a segmentation of the one or more sensing goals into one ormore sub-goals; and causing, at least in part, an assignment of the oneor more sub-goals to the at least a subset of the one or more devicesbased, at least in part, on the proximity information, wherein the oneor more sensing goals include capturing sensor data of the one or morepoints of interest, at one or more timings, of one or more events, or acombination thereof, and the degree of biasing is determined based onone or more deviations of the one or more devices from the one or morepredicted geo-routes, the one or more predicted location anchors, or acombination thereof, to be near or at one or more points of interest. 4.A method of claim 3, further comprising: determining one or more sensingspecifications of the one or more sensing goals, the one or moresub-goals, or a combination thereof, associated with the one or moretimings; and causing, at least in part, a transmission of the one ormore sensing specifications to the at least a subset of the one or moredevices, wherein the degree of biasing is determined further based onone or more deviations of the one or more timings from one or more userroutine timings associated with the one or more predicted geo-routes,the one or more predicted location anchors, or a combination thereof. 5.A method of claim 3, further comprising: processing one or morecompletion reports of the one or more sensing goals, the one or moresub-goals, or a combination to cause, at least in part, an updating ofthe one or more sensing goals, the one or more sub-goals, theassignment, the selection of the at least a subset of the one or moredevices, or a combination thereof, wherein the one or more sensing goalsinclude capturing sensor data at a time variant basis.
 6. A method ofclaim 1, further comprising: determining navigation guidance informationto cause, at least in part, a biasing of the one or more predictedgeo-routes, the one or more predicted location anchors, or a combinationthereof, wherein the navigation guidance information directs the atleast a subset of the one or more devices to be physically moved tocapture the sensor data based, at least in part, on the one or moresensing goals.
 7. A method of claim 1, further comprising: causing, atleast in part, a generation of one or more requests to participate inthe one or more sensing goals; and causing, at least in part, atransmission of the one or more requests to the one or more devices, theat least a subset of the one or more devices, or a combination thereofbased, at least in part, on the proximity information.
 8. A method ofclaim 1, further comprising: determining contextual information, userpreference information, or a combination thereof associated with theuser, the one or more devices, or a combination thereof, wherein theselection of the at least a subset is further based, at least in part,on the contextual information, the user preference information, or acombination thereof.
 9. A method of claim 1, further comprising:determining the one or more predicted geo-routes, the one or morepredicted location anchors, or a combination thereof based, at least inpart, on historical user information, predicted user information, or acombination thereof.
 10. A method of claim 1, wherein the proximityinformation includes, at least in part, location proximity information,temporal proximity information, contextual proximity information, or acombination thereof, and the one or more predicted geo-routes includeone or more user routine routes, one or more user current routes, or acombination thereof.
 11. An apparatus comprising: at least oneprocessor; and at least one memory including computer program code, theat least one memory and the computer program code configured to, withthe at least one processor, cause the apparatus to perform at least thefollowing, process and/or facilitate a processing of one or morepredicted geo-routes, one or more predicted location anchors, or acombination thereof physically associated with a user of one or moredevices to determine proximity information of the one or more devices toone or more sensing goals; determine a degree of biasing to apply to theone or more predicted geo-routes, the one or more predicted locationanchors, or a combination thereof to direct the user to physically movethe one or more devices near or at one or more points of interest inorder to capture sensor data based, at least in part, on the one or moresensing goals; and cause, at least in part, a selection of at least asubset of the one or more devices to participate in the one or moresensing goals based, at least in part, on the proximity information, thedegree of biasing, or a combination thereof.
 12. An apparatus of claim11, wherein the apparatus is further caused to: cause, at least in part,a segmentation of the one or more sensing goals into one or moresub-goals; and cause, at least in part, an assignment of the one or moresub-goals to the at least a subset of the one or more devices based, atleast in part, on the proximity information.
 13. An apparatus of claim12, wherein the apparatus is further caused to: determine one or moresensing specifications associated with the one or more sensing goals,the one or more sub-goals, or a combination thereof; and cause, at leastin part, a transmission of the one or more sensing specifications to theat least a subset of the one or more devices.
 14. An apparatus of claim12, wherein the apparatus is further caused to: process and/orfacilitate a processing of one or more completion reports of the one ormore sensing goals, the one or more sub-goals, or a combination tocause, at least in part, an updating of the one or more sensing goals,the one or more sub-goals, the assignment, the selection of the at leasta subset of the one or more devices, or a combination thereof.
 15. Anapparatus of claim 11, wherein the apparatus is further caused to:determine navigation guidance information to cause, at least in part, abiasing of the one or more predicted geo-routes, the one or morepredicted location anchors, or a combination thereof, wherein thenavigation guidance information directs the at least a subset of the oneor more devices to be physically moved to capture the sensor data based,at least in part, on the one or more sensing goals.
 16. An apparatus ofclaim 11, wherein the apparatus is further caused to: cause, at least inpart, a generation of one or more requests to participate in the one ormore sensing goals; and cause, at least in part, a transmission of theone or more requests to the one or more devices, the at least a subsetof the one or more devices, or a combination thereof based, at least inpart, on the proximity information.
 17. An apparatus of claim 11,wherein the apparatus is further caused to: determine contextualinformation, user preference information, or a combination thereofassociated with the one or more devices, wherein the selection of the atleast a subset is further based, at least in part, on the contextualinformation, the user preference information, or a combination thereof.18. An apparatus of claim 11, wherein the apparatus is further causedto: determine the one or more predicted geo-routes, the one or morepredicted location anchors, or a combination thereof based, at least inpart, on historical user information, predicted user information, or acombination thereof.
 19. An apparatus of claim 11, wherein the proximityinformation includes, at least in part, location proximity information,temporal proximity information, contextual proximity information, or acombination thereof.